package com.jsptpd.smartauth.common.util;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class DateUtil {

    /**
     * 获取现在时间
     *
     * @return返回Date格式
     */
    public static Date getDateTime() {
        Calendar calendar = new GregorianCalendar();
        Date date = new java.util.Date();

        return date;
    }


    /**
     * 获取现在时间
     *
     * @return返回字符串格式 yyyy-MM-dd HH:mm:ss
     */
    public static String getStringDate() {
        Date currentTime = new Date();
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dateString = formatter.format(currentTime);
        return dateString;
    }

    /**
     * 获取现在时间
     *
     * @return返回字符串格式 yyyyMMddHHmmss
     */
    public static String getLongDate() {
        Date currentTime = new Date();
        SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
        String dateString = formatter.format(currentTime);
        return dateString;
    }

    /**
     * yyyy-MM-dd转date
     */
    public static Date stringToDate(String str) {
        DateFormat fmt =new SimpleDateFormat("yyyy-MM-dd");
        Date date = null;
        try {
            date = fmt.parse(str);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

    /**
     * yyyy-MM-dd HH:mm:ss转date
     */
    public static Date stringTooDate(String str) {
        DateFormat fmt =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = null;
        try {
            date = fmt.parse(str);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

    /**
     * 时间增加N分钟/小时/天
     */
    public static Date getNewDate(Date currDate,int add,int type) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(currDate);   //设置时间
        calendar.add(type, add); //Calendar.DATE(天),Calendar.HOUR(小时),Calendar.MINUTE(分钟)
        return calendar.getTime();
    }

}
